package com.thh.ftp.pojo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import javax.persistence.*;
import java.io.Serializable;
import java.lang.Long;
import java.util.Date;
import java.lang.String;
import java.lang.Integer;
/****
 * @Author:thh
 * @Description:SysFile构建
 * @Date 2019/6/14 19:13
 *****/
@ApiModel(description = "SysFile",value = "SysFile")
@Table(name="sys_file")
public class SysFile implements Serializable{

	@ApiModelProperty(value = "标识",required = false)
	@Id
	@JsonSerialize(using = ToStringSerializer.class)
    @Column(name = "id")
	private String id;//标识

	@ApiModelProperty(value = "原始文件名称",required = false)
    @Column(name = "file_original_name")
	private String fileOriginalName;//原始文件名称

	@ApiModelProperty(value = "文件名称",required = false)
    @Column(name = "file_name")
	private String fileName;//文件名称

	@ApiModelProperty(value = "描述",required = false)
    @Column(name = "description")
	private String description;//描述

	@ApiModelProperty(value = "文件url",required = false)
    @Column(name = "file_url")
	private String fileUrl;//文件url

	@ApiModelProperty(value = "文件大小",required = false)
	@JsonSerialize(using = ToStringSerializer.class)
    @Column(name = "file_size")
	private Long fileSize;//文件大小

	@ApiModelProperty(value = "文件路径",required = false)
    @Column(name = "file_path")
	private String filePath;//文件路径

	@ApiModelProperty(value = "tag标签用于查询",required = false)
	@JsonSerialize(using = ToStringSerializer.class)
    @Column(name = "tag")
	private Long tag;//tag标签用于查询

	@ApiModelProperty(value = "附件后缀（.pdf,.img,.jpg）",required = false)
    @Column(name = "postfix")
	private String postfix;//附件后缀（.pdf,.img,.jpg）

	@ApiModelProperty(value = "类型",required = false)
    @Column(name = "type")
	private Integer type;//类型

	@ApiModelProperty(value = "内容类型 附件类型",required = false)
    @Column(name = "content_type")
	private String contentType;//内容类型 附件类型

	@ApiModelProperty(value = "状态 1.正常 0.删除 3.待删除",required = false)
    @Column(name = "state")
	private Integer state;//状态 1.正常 0.删除 3.待删除

	@ApiModelProperty(value = "排序",required = false)
    @Column(name = "sequence")
	private Integer sequence;//排序

	@ApiModelProperty(value = "上传用户",required = false)
	@JsonSerialize(using = ToStringSerializer.class)
    @Column(name = "upload_user_id")
	private Long uploadUserId;//上传用户

	@ApiModelProperty(value = "上传用户名称",required = false)
    @Column(name = "upload_user_name")
	private String uploadUserName;//上传用户名称

	@ApiModelProperty(value = "上传日期",required = false)
    @Column(name = "upload_time")
	private Date uploadTime;//上传日期

	@ApiModelProperty(value = "下载次数",required = false)
	@JsonSerialize(using = ToStringSerializer.class)
    @Column(name = "download_count")
	private Long downloadCount;//下载次数

	@ApiModelProperty(value = "备注",required = false)
    @Column(name = "remark")
	private String remark;//备注

	@ApiModelProperty(value = "待删除时间",required = false)
    @Column(name = "delete_date")
	private Date deleteDate;//待删除时间

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	//get方法
	public String getFileOriginalName() {
		return fileOriginalName;
	}

	//set方法
	public void setFileOriginalName(String fileOriginalName) {
		this.fileOriginalName = fileOriginalName;
	}
	//get方法
	public String getFileName() {
		return fileName;
	}

	//set方法
	public void setFileName(String fileName) {
		this.fileName = fileName;
	}
	//get方法
	public String getDescription() {
		return description;
	}

	//set方法
	public void setDescription(String description) {
		this.description = description;
	}
	//get方法
	public String getFileUrl() {
		return fileUrl;
	}

	//set方法
	public void setFileUrl(String fileUrl) {
		this.fileUrl = fileUrl;
	}
	//get方法
	public Long getFileSize() {
		return fileSize;
	}

	//set方法
	public void setFileSize(Long fileSize) {
		this.fileSize = fileSize;
	}
	//get方法
	public String getFilePath() {
		return filePath;
	}

	//set方法
	public void setFilePath(String filePath) {
		this.filePath = filePath;
	}
	//get方法
	public Long getTag() {
		return tag;
	}

	//set方法
	public void setTag(Long tag) {
		this.tag = tag;
	}
	//get方法
	public String getPostfix() {
		return postfix;
	}

	//set方法
	public void setPostfix(String postfix) {
		this.postfix = postfix;
	}
	//get方法
	public Integer getType() {
		return type;
	}

	//set方法
	public void setType(Integer type) {
		this.type = type;
	}
	//get方法
	public String getContentType() {
		return contentType;
	}

	//set方法
	public void setContentType(String contentType) {
		this.contentType = contentType;
	}
	//get方法
	public Integer getState() {
		return state;
	}

	//set方法
	public void setState(Integer state) {
		this.state = state;
	}
	//get方法
	public Integer getSequence() {
		return sequence;
	}

	//set方法
	public void setSequence(Integer sequence) {
		this.sequence = sequence;
	}
	//get方法
	public Long getUploadUserId() {
		return uploadUserId;
	}

	//set方法
	public void setUploadUserId(Long uploadUserId) {
		this.uploadUserId = uploadUserId;
	}
	//get方法
	public String getUploadUserName() {
		return uploadUserName;
	}

	//set方法
	public void setUploadUserName(String uploadUserName) {
		this.uploadUserName = uploadUserName;
	}
	//get方法
	public Date getUploadTime() {
		return uploadTime;
	}

	//set方法
	public void setUploadTime(Date uploadTime) {
		this.uploadTime = uploadTime;
	}
	//get方法
	public Long getDownloadCount() {
		return downloadCount;
	}

	//set方法
	public void setDownloadCount(Long downloadCount) {
		this.downloadCount = downloadCount;
	}
	//get方法
	public String getRemark() {
		return remark;
	}

	//set方法
	public void setRemark(String remark) {
		this.remark = remark;
	}
	//get方法
	public Date getDeleteDate() {
		return deleteDate;
	}

	//set方法
	public void setDeleteDate(Date deleteDate) {
		this.deleteDate = deleteDate;
	}


}
